]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gtkactionmuxer.c: Pass the platform data when activating actions as well
authorOwen W. Taylor <otaylor@fishsoup.net>
Tue, 7 Apr 2015 14:44:55 +0000 (10:44 -0400)
committerOwen W. Taylor <otaylor@fishsoup.net>
Tue, 7 Apr 2015 14:44:55 +0000 (10:44 -0400)
The code from a6a2cea414 only passed a timestamp when changing an action
state, but the timestamp also to be passed when activating actions.

https://bugzilla.gnome.org/show_bug.cgi?id=747323

src/gtkactionmuxer.c

index 155e00bd8b9011832bafc99d445a871fb8582780..9329a94c6f428b95181607b18148b7f1b6293fc3 100644 (file)
@@ -398,23 +398,6 @@ gtk_action_muxer_query_action (GActionGroup        *action_group,
   return FALSE;
 }
 
-static void
-gtk_action_muxer_activate_action (GActionGroup *action_group,
-                                  const gchar  *action_name,
-                                  GVariant     *parameter)
-{
-  GtkActionMuxer *muxer = GTK_ACTION_MUXER (action_group);
-  Group *group;
-  const gchar *unprefixed_name;
-
-  group = gtk_action_muxer_find_group (muxer, action_name, &unprefixed_name);
-
-  if (group)
-    g_action_group_activate_action (group->group, unprefixed_name, parameter);
-  else if (muxer->parent)
-    g_action_group_activate_action (G_ACTION_GROUP (muxer->parent), action_name, parameter);
-}
-
 static GVariant *
 get_platform_data (void)
 {
@@ -435,6 +418,30 @@ get_platform_data (void)
   return result;
 }
 
+static void
+gtk_action_muxer_activate_action (GActionGroup *action_group,
+                                  const gchar  *action_name,
+                                  GVariant     *parameter)
+{
+  GtkActionMuxer *muxer = GTK_ACTION_MUXER (action_group);
+  Group *group;
+  const gchar *unprefixed_name;
+
+  group = gtk_action_muxer_find_group (muxer, action_name, &unprefixed_name);
+
+  if (group)
+    {
+      if (G_IS_REMOTE_ACTION_GROUP (group->group))
+       g_remote_action_group_activate_action_full (G_REMOTE_ACTION_GROUP (group->group),
+                                                   unprefixed_name, parameter,
+                                                   get_platform_data ());
+      else
+       g_action_group_activate_action (group->group, unprefixed_name, parameter);
+    }
+  else if (muxer->parent)
+    g_action_group_activate_action (G_ACTION_GROUP (muxer->parent), action_name, parameter);
+}
+
 static void
 gtk_action_muxer_change_action_state (GActionGroup *action_group,
                                       const gchar  *action_name,